import 'package:flutter/material.dart';
import 'package:get/get.dart';

/// Toast 工具类
/// 
/// 提供简单优雅的 Toast 提示功能
/// 使用方法：ToastUtil.show('提示消息');
class ToastUtil {
  // 私有构造函数，防止实例化
  ToastUtil._();
  
  /// 显示简单的 Toast 提示
  /// 
  /// [message] 提示消息
  /// [duration] 显示时长，默认2秒
  static void show(
    String message, {
    Duration duration = const Duration(seconds: 2),
  }) {
    if (message.isEmpty) return;
    
    Get.dialog(
      Material(
        color: Colors.transparent,
        child: Center(
          child: Container(
            padding: const EdgeInsets.symmetric(horizontal: 20, vertical: 12),
            margin: const EdgeInsets.symmetric(horizontal: 40),
            decoration: BoxDecoration(
              color: Colors.black87,
              borderRadius: BorderRadius.circular(8),
            ),
            child: Text(
              message,
              style: const TextStyle(
                color: Colors.white,
                fontSize: 14,
                fontWeight: FontWeight.w500,
              ),
              textAlign: TextAlign.center,
            ),
          ),
        ),
      ),
      barrierDismissible: false,
      barrierColor: Colors.transparent,
    );
    
    // 自动关闭
    Future.delayed(duration, () {
      if (Get.isDialogOpen ?? false) {
        Get.back();
      }
    });
  }
  
  /// 显示成功提示
  /// 
  /// [message] 成功消息
  static void success(String message) {
    show(message);
  }
  
  /// 显示错误提示
  /// 
  /// [message] 错误消息
  static void error(String message) {
    show(message);
  }
  
  /// 显示警告提示
  /// 
  /// [message] 警告消息
  static void warning(String message) {
    show(message);
  }
  
  /// 显示信息提示
  /// 
  /// [message] 信息消息
  static void info(String message) {
    show(message);
  }
}